Solutions exist for facilitating the correction of errors present in computer applications. These solutions are most often implemented in the IDE (“Integrated development environment ”). Such IDEs are most often in the form of a screen wherein it is possible to select components which are integrated into the application, or directly from the source code. The selection of one of these elements of the application leads to the appearance of a set of properties related to the element selected.
For example, when the element selected is a component for accessing to a database which has been placed on a user interface of an application to be created, the properties may be: location of the data source, type of data source, protocol for accessing to the data source, etc.
Such an approach by “component” is especially used in “CodeGear™” IDEs, such as for example “Delphi™”. The selection of a component causes the appearance of its properties in a specific part of the screen.
In the development of Web applications for example Java, PHP or directly in HTML, the “Eclipse™” IDE is very often used. Once again, the selection of a portion of source code (for example a java object) or even the opening of a source code file causes a window to open or appear which contains a set of properties. This window is called an “outline”.
Other implementations of this principle may also be seen in the “Adobe™” “Dreamweaver™” application. When a user selects a part or an element of an HTML page being edited, the editor (the IDE) displays in a window elements representing properties associated to the tag that is selected: for example if the text selected by the user is framed in a tag <TD></TD>, representing a cell of a table, the properties associated to this tag will be displayed in the properties window of the element selected: the user may then modify the values of the properties associated to this tag: the colour of the background of the cell of the table, the alignment of the text in the cell, the colour and the font of the text, any actions that are to be carried out.
Quite often, the user is confronted with a problem: in the previous example, as the text is surrounded by the tag <TD></TD>, only the properties of this tag will be presented in the modification window. However, this tag <TD></TD> is itself surrounded by a tag <TR></TR>, which is itself surrounded by a tag <TABLE></TABLE>. Whereas in the case of HTML language, as it is the case for many other languages, it is possible that several properties of other elements interfere with the selected element. In the previous case, if the property “Backgroundcolor” is considered, this property may be modified in each of the tags <TD></TD>, <TR></TR> and <TABLE></TABLE>.
Consequently, the user who selects a text located between the tags <TD></TD> and who wishes to modify the value of the property “Backgroundcolor” from red to blue, must, if the value of this property is not defined in the tag <TD></TD>, successively select the tags <TR></TR> and <TABLE></TABLE> to identify the tag for which the value of the property “Backgroundcolor” has been defined to modify this value.
This example, which is not restrictive but is very demonstrative and quite simple, illustrates the difficulties encountered by developers of software applications: the properties of the code elements may very often be defined in several places of the source code of the application, which does not facilitate the maintenance or the correction of the application in question as this obliges the developer to navigate in many portions of source code looking for the element for which he wishes to modify certain properties.